package com.sjq.mapper;

import com.sjq.model.entity.Paper;
import com.sjq.model.request.ContentDto;
import com.sjq.model.request.PaperRequest;
import com.sjq.model.request.UserPaperRequest;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 稿件Mapper接口
 *
 * @author sjq
 * @date 2022-03-13
 */
public interface PaperMapper
{
    /**
     * 查询稿件
     *
     * @param id 稿件ID
     * @return 稿件
     */
    public Paper selectPaperById(Long id);

    /**
     * 查询稿件列表
     *
     * @param paperRequest 稿件
     * @return 稿件集合
     */
    public List<Paper> selectPaperList(PaperRequest paperRequest);

    /**
     * 新增稿件
     *
     * @param paper 稿件
     * @return 结果
     */
    public int insertPaper(Paper paper);

    /**
     * 修改稿件
     *
     * @param paper 稿件
     * @return 结果
     */
    public int updatePaper(Paper paper);

    /**
     * 删除稿件
     *
     * @param id 稿件ID
     * @return 结果
     */
    public int deletePaperById(@Param("id") Long id,@Param("userId") Long userId);

    /**
     * 批量删除稿件
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletePaperByIds(Long[] ids);



    /**
     * 批量修改征稿
     * @param ids
     * @return
     */
    public int updatePaperStatus(Long[] ids);

    /**
     * 批量修改审稿
     * @param ids
     * @return
     */
    public int updatePaperExpertStatus(Long[] ids);


    /**
     * 查询稿件
     * @param contentdto
     * @return
     */
    public List<Paper> paperList(ContentDto contentdto);

    public List<Paper> paperListByMyself(UserPaperRequest userPaperRequest);



    int insertZhengGao(@Param("userId") Long userId, @Param("array") Long[] ids);
}
